﻿using EMS.system.Entityies.MasterData.CustomerManagementModel;
using EMS.system.IEntityAppService.MasterData.CustomerManagementIService.CustomerManagementDTO;
using EMS.system.IEntityAppService.MasterData.SalesOutService.SalesOutDTOs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;

namespace EMS.system.IEntityAppService.MasterData.SalesOutService
{
    public interface ISalesOutAppService:IApplicationService
    {
        /// <summary>
        /// 获取销售出库显示 分页 查询
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="outCode"></param>
        /// <returns></returns>
        Task<PagedResult> GetSalesOutList(int pageIndex, int pageSize, string? outCode);
        /// <summary>
        /// 获取供应商管理列表
        /// </summary>
        /// <returns></returns>
        Task<List<CustomerManagementInsertDTO>> GetCustomerManagement();
        /// <summary>
        /// 添加销售出库
        /// </summary>
        /// <param name="salesOutDTO"></param>
        /// <returns></returns>
        Task<int> CreateSalesOut(SalesOutDTO salesOutDTO);
        /// <summary>
        /// 删除销售出库
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task<int> DeleteSalesOut(string ids);
        /// <summary>
        /// 获取销售出库单主键id
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<SalesOutDTO> GetSalesOutById(int id);
        /// <summary>
        /// 更新销售出库
        /// </summary>
        /// <param name="salesOutDTO"></param>
        /// <returns></returns>
        Task<int> UpdaetSalesOut(SalesOutDTO salesOutDTO);
    }
}
